home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre4.z / postgre4 / src / lib / H / utils / inval.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-27  |  1.6 KB  |  82 lines

  1. /*
  2.  * inval.h --
  3.  *    POSTGRES cache invalidation dispatcher definitions.
  4.  *
  5.  * Identification:
  6.  *    $Header: /private/postgres/src/lib/H/utils/RCS/inval.h,v 1.8 1991/11/11 19:32:17 mer Exp $
  7.  */
  8.  
  9. #ifndef    InvalIncluded    /* Include this file only once */
  10. #define InvalIncluded    1
  11.  
  12. #include "tmp/postgres.h"
  13. #include "utils/linval.h"
  14. #include "access/htup.h"
  15. #include "utils/rel.h"
  16.  
  17. /*
  18.  * DiscardInvalid --
  19.  *    Causes the invalidated cache state to be discarded.
  20.  *
  21.  * Note:
  22.  *    This should be called as the first step in processing a transaction.
  23.  *    This should be called while waiting for a query from the front end
  24.  *    when other backends are active.
  25.  */
  26. extern
  27. void
  28. DiscardInvalid ARGS((
  29.     void
  30. ));
  31.  
  32. /*
  33.  * RegisterInvalid --
  34.  *    Causes registration of invalidated state with other backends iff true.
  35.  *
  36.  * Note:
  37.  *    This should be called as the last step in processing a transaction.
  38.  */
  39. extern
  40. void
  41. RegisterInvalid ARGS((
  42.     bool    send
  43. ));
  44.  
  45. /*
  46.  * SetRefreshWhenInvalidate --
  47.  *    Causes the local caches to be immediately refreshed iff true.
  48.  */
  49. void
  50. SetRefreshWhenInvalidate ARGS((
  51.     bool    on
  52. ));
  53.  
  54. /*
  55.  * RelationIdInvalidateHeapTuple --
  56.  *    Causes the given tuple in a relation to be invalidated.
  57.  *
  58.  * Note:
  59.  *    Assumes object id is valid.
  60.  *    Assumes tuple is valid.
  61.  */
  62. extern
  63. void
  64. RelationIdInvalidateHeapTuple ARGS((
  65.     ObjectId    relationId,
  66.     HeapTuple    tuple
  67. ));
  68.  
  69. InvalidationEntry InvalidationEntryAllocate ARGS((uint16 size ));
  70.  
  71. LocalInvalid LocalInvalidRegister ARGS((
  72.     LocalInvalid invalid,
  73.     InvalidationEntry entry
  74. ));
  75.  
  76. void LocalInvalidInvalidate ARGS((LocalInvalid invalid , void (*function )()));
  77.  
  78. void getmyrelids ARGS((void ));
  79.  
  80. #endif    /* !defined(InvalIncluded) */
  81.  
  82.